(define (_test l)
  (if (pair? l)
      (begin
	(_test-func (car l))
	(_test (cdr l)))))
(define (_test-func l)
  (if (pair? l)
      (let ((f (eval (car l))))
	(display (car l))
	(newline)
	(_t (cdr l) f))))
(define (_t l f)
  (let ((res #f))
    (if (pair? l)
	(begin
	  ;;(display (format "[~a]" l))
	  (display (format "~S" (car l)))
	  (display "==>")
	  (set! res (apply f (car (car l))))
	  (display (format "~S" res))
	  (display "   ")
	  (if (equal? res (cadr (car l)))
	      (display "OK")
	      (display "NOT MATCH!"))
	  (newline)
	  (_t (cdr l) f)
	  )
    	(begin
	  (display "TEST OVER.")
	  (newline))
      )))
(define (file->list fn)
  (let ((p (open-input-file (format "~a" fn)))(l '()))
    (set! l (read p))
    (close-port p)
    l))
(define (_test-file fn)
  (let ((l (file->list fn)))
    (_test l)))
